package xlog

import "errors"

// 用户错误信息返回结构
type UserLogStruct struct {
	Id        uint64 `gorm:"column:id" json:"id" form:"id"`                         // 条目ID
	Uid       uint   `gorm:"column:line" json:"uid" form:"uid"`                     //错误行数
	LogType   string `gorm:"column:msg" json:"log_type" form:"log_type"`            //错误消息概述
	Content   string `gorm:"column:content" json:"content" form:"content"`          //错误信息内容
	CreatedAt string `gorm:"column:created_at" json:"created_at" form:"created_at"` //错误发生时间
}

// 获取用户日志记录
//
//	uid		用户ID
//	offset	跳过条数
//	limit	查询条数
func GetLogUser(uid uint, offset, limit int) (int64, []UserLogStruct, error) {
	if _default.DB == nil {
		return 0, nil, errors.New("数据库未连接")
	}
	var count int64
	db := _default.DB.Table(_default.TableName).Where("type", "U").Where("line", uid)
	err := db.Count(&count).Error
	if err != nil {
		return 0, nil, err
	}
	lis := []UserLogStruct{}
	err = db.Order("id DESC").Offset(offset).Limit(limit).Find(&lis).Error
	if err != nil {
		return 0, nil, err
	}
	return count, lis, nil
}
